1. Field of the Invention
The present invention relates generally to spacecraft attitude control systems and, more particularly, to spacecraft attitude determination systems.
2. Description of the Related Art
Spacecraft attitude control is essential because a spacecraft must be properly oriented to perform the functions for which it was designed. Attitude control is generally realized with the aid of torque-generation elements (e.g., thrusters, momentum wheels and/or magnetic torquers) which apply torque inputs U(t.sub.n) to a spacecraft body so as to change its state X(t.sub.n) (e.g., its attitude and attitude rate).
To determine the current state, an attitude determination system typically receives attitude measurements Y(t.sub.n) from various instruments (e.g., star trackers) and, in response, generates attitude estimates X*(t.sub.n) The difference between these attitude estimates X*(t.sub.n) and a commanded attitude defines torque command signals and, in response to these torque command signals, the torque-generation elements apply corrective torque inputs U(t.sub.n) that urge the spacecraft body towards the commanded attitude.
As indicated by the symbol t.sub.n, the measurements Y(t.sub.n) and estimates X*(t.sub.n) are generally performed at successive times. Between each of these successive times, the attitude determination system typically receives attitude rate measurements Y(t.sub.n) from gyroscopes which enable it to extrapolate each attitude estimate to the time of the next attitude measurement. The difference between the extrapolated estimate and its corresponding measurement forms a residue which is processed with a variable gain factor to form a correction of the previous estimate and update it to a current estimate. These actions realize attitude estimates whose variances are significantly reduced from those of the measurements and they are generally performed with a recursive estimator process (e,g., a Kalman filter process) that is programmed into data processors of the attitude determination system.
FIG. 1 shows an exemplary arrangement in which a stellar inertial attitude determination (SIAD) system 20 receives star tracker signals 22 from one or more star trackers 24. Star trackers are complex semiconductor systems which generally include a) an array of light sensitive elements that collect charge in response to incident light, b) an arrangement of charge-transfer elements that transfer (i.e., readout) the collected charges and c) an output structure that converts the transferred charges to corresponding voltage or current signals. The charge-transfer elements are generally realized with charge-coupled devices (CCDs) that are formed with metal-oxide semiconductor capacitors. Star trackers are thus sometimes referred to as CCD arrays and each array element is often referred to as an array pixel.
The collected charges of the array are processed into star centroids and each transfer of the processed charges to the star tracker output structure is typically referred to as a data frame. At a frame rate, therefore, the star tracker output signal provides frame data in the form of vertical coordinates C.sub.v, horizontal coordinates C.sub.h and star magnitudes M.sub.s for respective stars in the star tracker's field of view. The SIAD system 20 uses the star magnitudes M.sub.s and the vertical and horizontal coordinates C.sub.v and C.sub.h to identify respective stars and the vertical and horizontal coordinates C.sub.v and C.sub.h to determine the spacecraft attitude with respect to known stellar positions.
Star tracker signals generally include noise which comprise temporal noise (e.g., circuit-generated noise and background thermal noise) and spatial noise (e.g., errors induced by a less than perfect charge transfer efficiency). In order to reduce this noise, star trackers typically average the frame data of multiple data frames to form their output signals.
As indicated within the broken-line ellipse 26 of FIG. 1, for example, the star tracker 22 internally generates successive data frames 28 (each indicated by a frame enclosing a letter D) at a frame rate. The star tracker 22 then averages (as indicated by bracket-and-arrow 30) the frame data of a plurality (e.g., four) of the most current data frames 28 to generate averaged data frames 32 (each indicated by a frame enclosing a letter D with an overhead line that symbolizes the averaging process) at the frame rate. In addition, the valid flags of the averaged data frames are anded to provide a corresponding valid flag 33 for each averaged data frame 32. The averaged data frames 32 and corresponding valid flags 33 thus form the star tracker signals 22 as indicated by the broken-line ellipse 34.
Because star trackers do not operate in a benign world, the charge collection at array pixels can be corrupted by spurious inputs such as the impinging protons 36 of FIG. 1. The major source of impinging protons are solar flares of the sun that ebb and flow in various rhythms (e.g., with an eleven year cycle). The operation of the SIAD system 20 is degraded if it processes signals from frame pixels (often referred to as "hot pixels") whose collected charges have been corrupted. Therefore, the star trackers 24 provide, for each averaged data frame 32, a flag that is set invalid if the collected charges differ excessively from their previous values and is set valid otherwise. In response, the SIAD system 20 only processes data frames that are accompanied by a valid flag.
The probability of obtaining valid data frames with the static processing of FIG. 1 decreases as the influx of impinging protons 26 increases. When this influx is high, the lack of valid data frames significantly degrades operation of the SIAD system 20 so that the accuracy of the spacecraft attitude control decreases. Under extreme influx conditions, spacecraft missions may be placed in jeopardy (especially long-term missions whose operational time frames include that of a solar flare).